
.. |primme_params|                         replace:: :c:type:`primme_params <primme_params>`
.. |n|                                     replace:: :c:member:`n                                  <primme_params.n>`
.. |matrixMatvec|                          replace:: :c:member:`matrixMatvec                       <primme_params.matrixMatvec>`
.. |matrixMatvec_type|                     replace:: :c:member:`matrixMatvec_type                  <primme_params.matrixMatvec_type>`
.. |massMatrixMatvec|                      replace:: :c:member:`massMatrixMatvec                   <primme_params.massMatrixMatvec>`
.. |massMatrixMatvec_type|                 replace:: :c:member:`massMatrixMatvec_type              <primme_params.massMatrixMatvec_type>`
.. |applyPreconditioner|                   replace:: :c:member:`applyPreconditioner                <primme_params.applyPreconditioner>`
.. |applyPreconditioner_type|              replace:: :c:member:`applyPreconditioner_type           <primme_params.applyPreconditioner_type>`
.. |numProcs|                              replace:: :c:member:`numProcs                           <primme_params.numProcs>`
.. |procID|                                replace:: :c:member:`procID                             <primme_params.procID>`
.. |commInfo|                              replace:: :c:member:`commInfo                           <primme_params.commInfo>`
.. |nLocal|                                replace:: :c:member:`nLocal                             <primme_params.nLocal>`
.. |globalSumReal|                         replace:: :c:member:`globalSumReal                      <primme_params.globalSumReal>`
.. |globalSumReal_type|                    replace:: :c:member:`globalSumReal_type                 <primme_params.globalSumReal_type>`
.. |broadcastReal|                         replace:: :c:member:`broadcastReal                      <primme_params.broadcastReal>`
.. |broadcastReal_type|                    replace:: :c:member:`broadcastReal_type                 <primme_params.broadcastReal_type>`
.. |numEvals|                              replace:: :c:member:`numEvals                           <primme_params.numEvals>`
.. |target|                                replace:: :c:member:`target                             <primme_params.target>`
.. |numTargetShifts|                       replace:: :c:member:`numTargetShifts                    <primme_params.numTargetShifts>`
.. |targetShifts|                          replace:: :c:member:`targetShifts                       <primme_params.targetShifts>`
.. |locking|                               replace:: :c:member:`locking                            <primme_params.locking>`
.. |initSize|                              replace:: :c:member:`initSize                           <primme_params.initSize>`
.. |numOrthoConst|                         replace:: :c:member:`numOrthoConst                      <primme_params.numOrthoConst>`
.. |maxBasisSize|                          replace:: :c:member:`maxBasisSize                       <primme_params.maxBasisSize>`
.. |minRestartSize|                        replace:: :c:member:`minRestartSize                     <primme_params.minRestartSize>`
.. |maxBlockSize|                          replace:: :c:member:`maxBlockSize                       <primme_params.maxBlockSize>`
.. |maxMatvecs|                            replace:: :c:member:`maxMatvecs                         <primme_params.maxMatvecs>`
.. |maxOuterIterations|                    replace:: :c:member:`maxOuterIterations                 <primme_params.maxOuterIterations>`
.. |intWorkSize|                           replace:: :c:member:`intWorkSize                        <primme_params.intWorkSize>`
.. |realWorkSize|                          replace:: :c:member:`realWorkSize                       <primme_params.realWorkSize>`
.. |iseed|                                 replace:: :c:member:`iseed                              <primme_params.iseed>`
.. |intWork|                               replace:: :c:member:`intWork                            <primme_params.intWork>`
.. |realWork|                              replace:: :c:member:`realWork                           <primme_params.realWork>`
.. |aNorm|                                 replace:: :c:member:`aNorm                              <primme_params.aNorm>`
.. |eps|                                   replace:: :c:member:`eps                                <primme_params.eps>`
.. |printLevel|                            replace:: :c:member:`printLevel                         <primme_params.printLevel>`
.. |outputFile|                            replace:: :c:member:`outputFile                         <primme_params.outputFile>`
.. |matrix|                                replace:: :c:member:`matrix                             <primme_params.matrix>`
.. |massMatrix|                            replace:: :c:member:`massMatrix                         <primme_params.massMatrix>`
.. |BNorm|                                 replace:: :c:member:`BNorm                              <primme_params.BNorm>`
.. |invBNorm|                              replace:: :c:member:`invBNorm                           <primme_params.invBNorm>`
.. |orth|                                  replace:: :c:member:`orth                               <primme_params.orth>`
.. |preconditioner|                        replace:: :c:member:`preconditioner                     <primme_params.preconditioner>`
.. |ShiftsForPreconditioner|               replace:: :c:member:`ShiftsForPreconditioner            <primme_params.ShiftsForPreconditioner>`
.. |initBasisMode|                         replace:: :c:member:`initBasisMode                      <primme_params.initBasisMode>`
.. |internalPrecision|                     replace:: :c:member:`internalPrecision                  <primme_params.internalPrecision>`
.. |scheme|               replace:: :c:member:`scheme                             <primme_params.restartingParams.scheme>`
.. |maxPrevRetain|        replace:: :c:member:`maxPrevRetain                      <primme_params.restartingParams.maxPrevRetain>`
.. |precondition|         replace:: :c:member:`precondition                       <primme_params.correctionParams.precondition>`
.. |robustShifts|         replace:: :c:member:`robustShifts                       <primme_params.correctionParams.robustShifts>`
.. |maxInnerIterations|   replace:: :c:member:`maxInnerIterations                 <primme_params.correctionParams.maxInnerIterations>`
.. |LeftQ|     replace:: :c:member:`LeftQ                   <primme_params.correctionParams.projectors.LeftQ>`
.. |LeftX|     replace:: :c:member:`LeftX                   <primme_params.correctionParams.projectors.LeftX>`
.. |RightQ|    replace:: :c:member:`RightQ                  <primme_params.correctionParams.projectors.RightQ>`
.. |RightX|    replace:: :c:member:`RightX                  <primme_params.correctionParams.projectors.RightX>`
.. |SkewQ|     replace:: :c:member:`SkewQ                   <primme_params.correctionParams.projectors.SkewQ>`
.. |SkewX|     replace:: :c:member:`SkewX                   <primme_params.correctionParams.projectors.SkewX>`
.. |convTest|             replace:: :c:member:`convTest                           <primme_params.correctionParams.convTest>`
.. |relTolBase|           replace:: :c:member:`relTolBase                         <primme_params.correctionParams.relTolBase>`
.. |numOuterIterations|              replace:: :c:member:`numOuterIterations                 <primme_params.stats.numOuterIterations>`
.. |numRestarts|                     replace:: :c:member:`numRestarts                        <primme_params.stats.numRestarts>`
.. |numMatvecs|                      replace:: :c:member:`numMatvecs                         <primme_params.stats.numMatvecs>`
.. |numPreconds|                     replace:: :c:member:`numPreconds                        <primme_params.stats.numPreconds>`
.. |numGlobalSum|                    replace:: :c:member:`numGlobalSum                       <primme_params.stats.numGlobalSum>`
.. |numBroadcast|                    replace:: :c:member:`numBroadcast                       <primme_params.stats.numBroadcast>`
.. |volumeGlobalSum|                 replace:: :c:member:`volumeGlobalSum                    <primme_params.stats.volumeGlobalSum>`
.. |volumeBroadcast|                 replace:: :c:member:`volumeBroadcast                    <primme_params.stats.volumeBroadcast>`
.. |timeGlobalSum|                   replace:: :c:member:`timeGlobalSum                      <primme_params.stats.timeGlobalSum>`
.. |timeBroadcast|                   replace:: :c:member:`timeBroadcast                      <primme_params.stats.timeBroadcast>`
.. |timeOrtho|                       replace:: :c:member:`timeOrtho                          <primme_params.stats.timeOrtho>`
.. |elapsedTime|                     replace:: :c:member:`elapsedTime                        <primme_params.stats.elapsedTime>`
.. |estimateMinEVal|                 replace:: :c:member:`estimateMinEVal                    <primme_params.stats.estimateMinEVal>`
.. |estimateMaxEVal|                 replace:: :c:member:`estimateMaxEVal                    <primme_params.stats.estimateMaxEVal>`
.. |estimateLargestSVal|             replace:: :c:member:`estimateLargestSVal                <primme_params.stats.estimateLargestSVal>`
.. |maxConvTol|                      replace:: :c:member:`maxConvTol                         <primme_params.stats.maxConvTol>`
.. |lockingIssue|                    replace:: :c:member:`lockingIssue                       <primme_params.stats.lockingIssue>`
.. |dynamicMethodSwitch|                   replace:: :c:member:`dynamicMethodSwitch                <primme_params.dynamicMethodSwitch>`
.. |convTestFun|                           replace:: :c:member:`convTestFun                        <primme_params.convTestFun>`
.. |convTestFun_type|                      replace:: :c:member:`convTestFun_type                   <primme_params.convTestFun_type>`
.. |convtest|                              replace:: :c:member:`convtest                           <primme_params.convtest>`
.. |ldevecs|                               replace:: :c:member:`ldevecs                            <primme_params.ldevecs>`
.. |ldOPs|                                 replace:: :c:member:`ldOPs                              <primme_params.ldOPs>`
.. |monitorFun|                            replace:: :c:member:`monitorFun                         <primme_params.monitorFun>`
.. |monitorFun_type|                       replace:: :c:member:`monitorFun_type                    <primme_params.monitorFun_type>`
.. |monitor|                               replace:: :c:member:`monitor                            <primme_params.monitor>`
.. |queue|                                 replace:: :c:member:`queue                              <primme_params.queue>`
.. |primme_smallest|       replace:: :c:member:`primme_smallest       <primme_params.target>`
.. |primme_largest|        replace:: :c:member:`primme_largest        <primme_params.target>`
.. |primme_closest_geq|    replace:: :c:member:`primme_closest_geq    <primme_params.target>`
.. |primme_closest_leq|    replace:: :c:member:`primme_closest_leq    <primme_params.target>`
.. |primme_closest_abs|    replace:: :c:member:`primme_closest_abs    <primme_params.target>`
.. |primme_largest_abs|    replace:: :c:member:`primme_largest_abs    <primme_params.target>`
.. |projection|            replace:: :c:member:`projection            <primme_params.projectionParams.projection>`
.. |primme_proj_default|   replace:: :c:member:`primme_proj_default   <primme_params.projectionParams.projection>`
.. |primme_proj_RR|        replace:: :c:member:`primme_proj_RR        <primme_params.projectionParams.projection>`
.. |primme_proj_harmonic|  replace:: :c:member:`primme_proj_harmonic  <primme_params.projectionParams.projection>`
.. |primme_proj_refined|   replace:: :c:member:`primme_proj_refined   <primme_params.projectionParams.projection>`
.. |primme_init_default|           replace:: :c:member:`primme_init_default   <primme_params.initBasisMode>`
.. |primme_init_krylov|            replace:: :c:member:`primme_init_krylov    <primme_params.initBasisMode>`
.. |primme_init_random|            replace:: :c:member:`primme_init_random    <primme_params.initBasisMode>`
.. |primme_init_user|              replace:: :c:member:`primme_init_user      <primme_params.initBasisMode>`
.. |primme_full_LTolerance|        replace:: :c:member:`primme_full_LTolerance        <primme_params.correctionParams.convTest>`
.. |primme_decreasing_LTolerance|  replace:: :c:member:`primme_decreasing_LTolerance  <primme_params.correctionParams.convTest>`
.. |primme_adaptive_ETolerance|    replace:: :c:member:`primme_adaptive_ETolerance    <primme_params.correctionParams.convTest>`
.. |primme_adaptive|               replace:: :c:member:`primme_adaptive               <primme_params.correctionParams.convTest>`
.. |DYNAMIC|                       replace:: :c:member:`PRIMME_DYNAMIC                       <primme_preset_method.PRIMME_DYNAMIC>`
.. |DEFAULT_MIN_TIME|              replace:: :c:member:`PRIMME_DEFAULT_MIN_TIME              <primme_preset_method.PRIMME_DEFAULT_MIN_TIME>`
.. |DEFAULT_MIN_MATVECS|           replace:: :c:member:`PRIMME_DEFAULT_MIN_MATVECS           <primme_preset_method.PRIMME_DEFAULT_MIN_MATVECS>`
.. |Arnoldi|                       replace:: :c:member:`PRIMME_Arnoldi                       <primme_preset_method.PRIMME_Arnoldi>`
.. |GD|                            replace:: :c:member:`PRIMME_GD                            <primme_preset_method.PRIMME_GD>`
.. |GD_plusK|                      replace:: :c:member:`PRIMME_GD_plusK                      <primme_preset_method.PRIMME_GD_plusK>`
.. |GD_Olsen_plusK|                replace:: :c:member:`PRIMME_GD_Olsen_plusK                <primme_preset_method.PRIMME_GD_Olsen_plusK>`
.. |JD_Olsen_plusK|                replace:: :c:member:`PRIMME_JD_Olsen_plusK                <primme_preset_method.PRIMME_JD_Olsen_plusK>`
.. |RQI|                           replace:: :c:member:`PRIMME_RQI                           <primme_preset_method.PRIMME_RQI>`
.. |JDQR|                          replace:: :c:member:`PRIMME_JDQR                          <primme_preset_method.PRIMME_JDQR>`
.. |JDQMR|                         replace:: :c:member:`PRIMME_JDQMR                         <primme_preset_method.PRIMME_JDQMR>`
.. |JDQMR_ETol|                    replace:: :c:member:`PRIMME_JDQMR_ETol                    <primme_preset_method.PRIMME_JDQMR_ETol>`
.. |STEEPEST_DESCENT|              replace:: :c:member:`PRIMME_STEEPEST_DESCENT              <primme_preset_method.PRIMME_STEEPEST_DESCENT>`
.. |LOBPCG_OrthoBasis|             replace:: :c:member:`PRIMME_LOBPCG_OrthoBasis             <primme_preset_method.PRIMME_LOBPCG_OrthoBasis>`
.. |LOBPCG_OrthoBasis_Window|      replace:: :c:member:`PRIMME_LOBPCG_OrthoBasis_Window      <primme_preset_method.PRIMME_LOBPCG_OrthoBasis_Window>`

.. |Sm|                      replace:: :c:member:`m                            <primme_svds_params.m>`
.. |Sn|                      replace:: :c:member:`n                            <primme_svds_params.n>`
.. |SmatrixMatvec|           replace:: :c:member:`matrixMatvec                 <primme_svds_params.matrixMatvec>`
.. |SmatrixMatvec_type|      replace:: :c:member:`matrixMatvec_type            <primme_svds_params.matrixMatvec_type>`
.. |SnumSvals|               replace:: :c:member:`numSvals                     <primme_svds_params.numSvals>`
.. |Starget|                 replace:: :c:member:`target                       <primme_svds_params.target>`
.. |Seps|                    replace:: :c:member:`eps                          <primme_svds_params.eps>`
.. |SnumProcs|               replace:: :c:member:`numProcs                     <primme_svds_params.numProcs>`
.. |SprocID|                 replace:: :c:member:`procID                       <primme_svds_params.procID>`
.. |SmLocal|                 replace:: :c:member:`mLocal                       <primme_svds_params.mLocal>`
.. |SnLocal|                 replace:: :c:member:`nLocal                       <primme_svds_params.nLocal>`
.. |SglobalSumReal|          replace:: :c:member:`globalSumReal                <primme_svds_params.globalSumReal>`
.. |SglobalSumReal_type|     replace:: :c:member:`globalSumReal_type           <primme_svds_params.globalSumReal_typw>`
.. |SbroadcastReal|          replace:: :c:member:`broadcastReal                <primme_svds_params.broadcastReal>`
.. |SbroadcastReal_type|     replace:: :c:member:`broadcastReal_type           <primme_svds_params.broadcastReal_type>`
.. |SapplyPreconditioner|    replace:: :c:member:`applyPreconditioner          <primme_svds_params.applyPreconditioner>`
.. |SapplyPreconditioner_type| replace:: :c:member:`applyPreconditioner_type   <primme_svds_params.applyPreconditioner_type>`
.. |SinitSize|               replace:: :c:member:`initSize                     <primme_svds_params.initSize>`
.. |SinternalPrecision|      replace:: :c:member:`internalPrecision            <primme_svds_params.internalPrecision>`
.. |SmaxBasisSize|           replace:: :c:member:`maxBasisSize                 <primme_svds_params.maxBasisSize>`
.. |SminRestartSize|         replace:: :c:member:`minRestartSize               <primme_svds_params.minRestartSize>`
.. |SmaxBlockSize|           replace:: :c:member:`maxBlockSize                 <primme_svds_params.maxBlockSize>`
.. |ScommInfo|               replace:: :c:member:`commInfo                     <primme_svds_params.commInfo>`
.. |Smatrix|                 replace:: :c:member:`matrix                       <primme_svds_params.matrix>`
.. |Spreconditioner|         replace:: :c:member:`preconditioner               <primme_svds_params.preconditioner>`
.. |SnumTargetShifts|        replace:: :c:member:`numTargetShifts              <primme_svds_params.numTargetShifts>`
.. |StargetShifts|           replace:: :c:member:`targetShifts                 <primme_svds_params.targetShifts>`
.. |SnumOrthoConst|          replace:: :c:member:`numOrthoConst                <primme_svds_params.numOrthoConst>`
.. |Slocking|                replace:: :c:member:`locking                      <primme_svds_params.locking>`
.. |Sprecondition|           replace:: :c:member:`precondition                 <primme_svds_params.precondition>`
.. |SmaxMatvecs|             replace:: :c:member:`maxMatvecs                   <primme_svds_params.maxMatvecs>`
.. |Siseed|                  replace:: :c:member:`iseed                        <primme_svds_params.iseed>`
.. |SaNorm|                  replace:: :c:member:`aNorm                        <primme_svds_params.aNorm>`
.. |SprintLevel|             replace:: :c:member:`printLevel                   <primme_svds_params.printLevel>`
.. |SoutputFile|             replace:: :c:member:`outputFile                   <primme_svds_params.outputFile>`
.. |Smethod|                 replace:: :c:member:`method                       <primme_svds_params.method>`
.. |SmethodStage2|           replace:: :c:member:`methodStage2                 <primme_svds_params.methodStage2>`
.. |Sprimme|                 replace:: :c:member:`primme                       <primme_svds_params.primme>`
.. |SprimmeStage2|           replace:: :c:member:`primmeStage2                 <primme_svds_params.primmeStage2>`
.. |SconvTestFun|            replace:: :c:member:`convTestFun                  <primme_svds_params.convTestFun>`
.. |SconvTestFun_type|       replace:: :c:member:`convTestFun_type             <primme_svds_params.convTestFun_type>`
.. |Sconvtest|               replace:: :c:member:`convtest                     <primme_svds_params.convtest>`
.. |SmonitorFun|             replace:: :c:member:`monitorFun                   <primme_svds_params.monitorFun>`
.. |SmonitorFun_type|        replace:: :c:member:`monitorFun_type              <primme_svds_params.monitorFun_type>`
.. |Smonitor|                replace:: :c:member:`monitor                      <primme_svds_params.monitor>`
.. |Squeue|                  replace:: :c:member:`queue                        <primme_svds_params.queue>`
.. |SnumOuterIterations|              replace:: :c:member:`numOuterIterations                 <primme_svds_params.stats.numOuterIterations>`
.. |SnumRestarts|                     replace:: :c:member:`numRestarts                        <primme_svds_params.stats.numRestarts>`
.. |SnumMatvecs|                      replace:: :c:member:`numMatvecs                         <primme_svds_params.stats.numMatvecs>`
.. |SnumPreconds|                     replace:: :c:member:`numPreconds                        <primme_svds_params.stats.numPreconds>`
.. |SnumGlobalSum|                    replace:: :c:member:`numGlobalSum                       <primme_svds_params.stats.numGlobalSum>`
.. |SnumBroadcast|                    replace:: :c:member:`numBroadcast                       <primme_svds_params.stats.numBroadcast>`
.. |SvolumeGlobalSum|                 replace:: :c:member:`volumeGlobalSum                    <primme_svds_params.stats.volumeGlobalSum>`
.. |SvolumeBroadcast|                 replace:: :c:member:`volumeBroadcast                    <primme_svds_params.stats.volumeBroadcast>`
.. |StimeGlobalSum|                   replace:: :c:member:`timeGlobalSum                      <primme_svds_params.stats.timeGlobalSum>`
.. |StimeBroadcast|                   replace:: :c:member:`timeBroadcast                      <primme_svds_params.stats.timeBroadcast>`
.. |StimeOrtho|                       replace:: :c:member:`timeOrtho                          <primme_svds_params.stats.timeOrtho>`
.. |SelapsedTime|                     replace:: :c:member:`elapsedTime                        <primme_svds_params.stats.elapsedTime>`
.. |SlockingIssue|                    replace:: :c:member:`lockingIssue                       <primme_svds_params.stats.lockingIssue>`
.. |primme_svds_smallest|       replace:: :c:member:`primme_svds_smallest       <primme_svds_params.target>`
.. |primme_svds_largest|        replace:: :c:member:`primme_svds_largest        <primme_svds_params.target>`
.. |primme_svds_closest_abs|    replace:: :c:member:`primme_svds_closest_abs    <primme_svds_params.target>`
.. |primme_svds_default|         replace:: :c:member:`primme_svds_default         <primme_svds_preset_method.primme_svds_default>`
.. |primme_svds_hybrid|          replace:: :c:member:`primme_svds_hybrid          <primme_svds_preset_method.primme_svds_hybrid>`
.. |primme_svds_normalequations| replace:: :c:member:`primme_svds_normalequations <primme_svds_preset_method.primme_svds_normalequations>`
.. |primme_svds_augmented|       replace:: :c:member:`primme_svds_augmented       <primme_svds_preset_method.primme_svds_augmented>`
.. |PRIMME_SVDS_default|         replace:: :c:member:`PRIMME_SVDS_default         <primme_svds_preset_method.primme_svds_default>`
.. |PRIMME_SVDS_hybrid|          replace:: :c:member:`PRIMME_SVDS_hybrid          <primme_svds_preset_method.primme_svds_hybrid>`
.. |PRIMME_SVDS_normalequations| replace:: :c:member:`PRIMME_SVDS_normalequations <primme_svds_preset_method.primme_svds_normalequations>`
.. |PRIMME_SVDS_augmented|       replace:: :c:member:`PRIMME_SVDS_augmented       <primme_svds_preset_method.primme_svds_augmented>`



.. _PRIMME: https://github.com/primme/primme
.. _`Andreas Stathopoulos`: http://www.cs.wm.edu/~andreas/
.. _LAPACK: http://www.netlib.org/lapack/
.. _BLAS: http://www.netlib.org/blas/
.. _Sphinx: http://sphinx-doc.org/
.. _PETSc: http://www.mcs.anl.gov/petsc/
.. _column-major: https://en.wikipedia.org/wiki/Row-major_order
.. _NumPy: http://www.numpy.org/
.. _`SciPy Library`: https://www.scipy.org/scipylib/index.html
.. _`MATLAB eigs`: https://www.mathworks.com/help/matlab/ref/eigs.html
.. _`MATLAB svds`: https://www.mathworks.com/help/matlab/ref/svds.html
